package modele;

import java.util.ArrayList;

import controleur.ControleurCoordonnee;

public class Unite {
	// Variable(s) d'instance
		private String nom;
		private ControleurCoordonnee coordonneeActuelle;
		private ArrayList<ControleurCoordonnee> trajectoire;
		private ControleurCoordonnee arrivee;
		private int indiceActuelTrajectoire;
		
		// Constructeur(s)
		public Unite(String nom, int x, int y) {
			if(x < 0 || x >= Ressources.width) {
				x = 0;
			}
			if(y < 0 || y >= Ressources.height) {
				y = 0;
			}
			this.nom=nom;
			this.coordonneeActuelle=new ControleurCoordonnee(x, y);
			this.trajectoire=new ArrayList<ControleurCoordonnee>();
			this.arrivee=null;
			this.indiceActuelTrajectoire = -1;
		}
		
		// Accesseur(s)
		public String getNom() {
			return this.nom;
		}
		
		public int getX() {
			return this.coordonneeActuelle.getX();
		}
		
		public int getY() {
			return this.coordonneeActuelle.getY();
		}
		
		public int getArriveeX() {
			return this.arrivee.getX();
		}
		
		public int getArriveeY() {
			return this.arrivee.getY();
		}
		
		public ArrayList<ControleurCoordonnee> getTrajectoire() {
			return this.trajectoire;
		}
		
		public ControleurCoordonnee getCoordonneeActuelle() {
			return this.coordonneeActuelle;
		}
		
		public ControleurCoordonnee getArrivee() {
			return this.arrivee;
		}
		
		public int getIndiceActuelTrajectoire() {
			return this.indiceActuelTrajectoire;
		}
		
		// Mutateur(s)
		public void setX(int x) {
			this.coordonneeActuelle.setX(x);
		}
		
		public void setY(int y) {
			this.coordonneeActuelle.setY(y);
		}
		
		public void setTrajectoire(ArrayList<ControleurCoordonnee> a) {
			this.trajectoire=a;
		}
		
		public void setArrivee(ControleurCoordonnee arrivee) {
			this.arrivee = arrivee;
		}
		
		public void setIndiceActuelTrajectoire(int indiceActuelTrajectoire) {
			this.indiceActuelTrajectoire=indiceActuelTrajectoire;
		}
}
